package main

import "fmt"

// main 是程序的入口点。
func main() {
	// 定义一个长度为6的整数数组arr1。
	var arr1 [6]int
	// 通过数组arr1创建一个切片slice1，包含arr1的第2到第4个元素。
	var slice1 []int = arr1[2:5]

	// 遍历并打印slice1的每个元素。
	for i := 0; i < len(slice1); i++ {
		fmt.Printf("Slice at %d is %d\n", i, slice1[i])
	}
	// 打印arr1的长度。
	fmt.Printf("The length of arr1 is %d\n", len(arr1))
	// 打印slice1的长度和容量。
	fmt.Printf("The length of slice1 is %d\n", len(slice1))
	fmt.Printf("The capacity of slice1 is %d\n", cap(slice1))

	// 调整slice1的长度为4，即扩展slice1以包含arr1的第2到第5个元素。
	slice1 = slice1[0:4]
	// 再次遍历并打印调整后的slice1的每个元素。
	for i := 0; i < len(slice1); i++ {
		fmt.Printf("Slice at %d is %d\n", i, slice1[i])
	}
	// 打印调整后的slice1的长度和容量。
	fmt.Printf("The length of slice1 is %d\n", len(slice1))
	fmt.Printf("The capacity of slice1 is %d\n", cap(slice1))
}
